home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 26.zip / BS1 part 26 / C for beginners.adf / source / itoa.c < prev    next >
C/C++ Source or Header  |  1978-01-17  |  1KB  |  56 lines

  1. #include "stringfunc.c"
  2.  
  3. /*****************************************/
  4. /* Name:   itoa                          */
  5. /* Parameter: n(int), s(string)          */
  6. /* function: Convert Integer  to string  */
  7. /* comment: Requires reverse()           */
  8. /*****************************************/
  9.  
  10. #define EOS '0'
  11. #define FALSE 0
  12. #define TRUE 1
  13.  
  14. itoa(n, s)
  15. register int n;
  16. register char *s;
  17. {
  18.    register int i = 0;
  19.    register int sign = FALSE;
  20.  
  21.    if(n < 0)
  22.      {
  23.       sign = TRUE;
  24.       n = -n;
  25.      }
  26.    do
  27.      s[i++] = n % 10 + '0';
  28.    while(n /=10);
  29.    if(sign)
  30.      s[i++] = '-';
  31.    s[i] = EOS;
  32.    reverse(s);
  33. }
  34.  
  35.  
  36. /****************************************/
  37. /* Name:   reverse                      */
  38. /* Parameter: s(string)                 */
  39. /* function: Reverse string             */
  40. /* comment: Requires strlen()           */
  41. /****************************************/
  42.  
  43. reverse(s)
  44. register char *s;
  45. {
  46.    register int c, i, j;
  47.  
  48. for(i=0, j = strlen(s) - 1; i < j; i++, j--)
  49.   {
  50.    c    = s[i];
  51.    s[i] = s[j];
  52.    s[j] = c;
  53.   }
  54. }
  55.  
  56.